<template>
  <ul class="todo-list">
    <!-- completed: 完成的类名 -->
        <!--1.2添加动态属性实现样式 -->
    <li :class="{completed : item.isDone }" v-for="item in list" :key="item.id" >
      <div class="view">
        <!--3 v-model="item.isDone"违反单向数据流原则  所以通知父组件修改-->
        <input class="toggle" type="checkbox" :checked="item.isDone" 
        @change="change(item.id)" />
        <label>{{item.name}}</label>
        <!-- 2 删除功能 -->
        <button class="destroy" @click="del(item.id)"></button>
      </div>
    </li>
  </ul>
  
</template>

<script>
export default {
  // 1 接收父组件传来的数据list,渲染数据
  props:{
    list:{
      type:Array,
      required:true,
    }
  },
  methods:{
    del(id) { //2.1父传子
      this.$emit('del',id)
    },
    change(id) {
      this.$emit('change',id)
    }
  }
}
</script>